package com.fzg.service;

import com.fzg.common.enums.ResponseWrapper;
import com.fzg.common.model.login.param.*;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;

public interface LoginService {

    /**
     * 后台登陆，输入账号和密码，选择角色，点击登录。
     */
    public ResponseWrapper backLogin(@RequestBody @Validated BackLoginParam param);

    /**
     * 通过账号查询用户或公司名称
     */
    public ResponseWrapper getLoginInfo(String account);

    /**
     * 前台登陆获取验证码
     */
    public ResponseWrapper getReceptionLoginImageCode();

    /**
     * 前台登陆
     */
    public ResponseWrapper receptionLogin(ReceptionLoginParam param);

    /**
     * 前台注册
     */
    public ResponseWrapper receptionRegister(ReceptionRegisterParam param);

    /**
     * 获取当前登陆人或企业的名称
     */
    public ResponseWrapper getCurrentLoginName(GetCurrentLoginNameParam param);

    /**
     * 通过登陆的账号获取当前角色名称
     */
    public ResponseWrapper getCurrentLoginRoleName(GetCurrentLoginRoleNameParam param);

    /**
     * 查询注册输入的账号是否相同
     */
    public ResponseWrapper checkAccountApi(CheckAccountApiParam param);

    /**
     * 注册时检查手机号是否存在
     */
    public ResponseWrapper checkPhoneIsExist(ChenkPhoneIsExist param);

}
